package com.xuecheng.content.agent;

import com.xuecheng.api.media.model.dto.MediaDTO;
import com.xuecheng.common.constant.XcFeignServiceNameList;
import com.xuecheng.common.domain.response.RestResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * feign接口编写
 * 1.在接口类上注解
 *
 * @FeignClient 属性:value/name  相同效果
 * 被调用的服务名称:在eureka注册中心的名称:media-service
 * <p>
 * 2.被调用的服务的接口地址和方法
 * feign远程调用时需要使用springMVC的注解来完成
 * 请求路径和方式:  @exampleMapping
 * <p>
 * 参数的表述:   queryString @RequestParam
 * Restful : @PathVariable
 * RequestBody :  @RequestBody
 *
 * 3.开启feign支持
 */
@FeignClient(XcFeignServiceNameList.XC_MEDIA_SERVICE)
public interface MediaApiAgent {

    @GetMapping("/media/l/media/{mediaId}")
    RestResponse<MediaDTO> getMediaById4s(@PathVariable Long mediaId);
}
